package com.hpjpw.ido.service.impl;

import java.util.List;

import com.ruoyi.common.utils.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.hpjpw.ido.mapper.TaskRecordMapper;
import com.hpjpw.ido.domain.TaskRecord;
import com.hpjpw.ido.service.ITaskRecordService;

/**
 * 任务记录Service业务层处理
 * 
 * @author hpj
 * @date 2021-01-02
 */
@Service
public class TaskRecordServiceImpl implements ITaskRecordService 
{
    @Autowired
    private TaskRecordMapper taskRecordMapper;

    /**
     * 查询任务记录
     * 
     * @param id 任务记录ID
     * @return 任务记录
     */
    @Override
    public TaskRecord selectTaskRecordById(String id)
    {
        return taskRecordMapper.selectTaskRecordById(id);
    }

    /**
     * 查询任务记录列表
     * 
     * @param taskRecord 任务记录
     * @return 任务记录
     */
    @Override
    public List<TaskRecord> selectTaskRecordList(TaskRecord taskRecord)
    {
        return taskRecordMapper.selectTaskRecordList(taskRecord);
    }

    /**
     * 通过学生ID查询任务记录总星数
     *
     * @param studentId 学生ID
     * @return 任务记录总星数
     */
    @Override
    public int selectStarNumByStudentUserId(Long studentId) {
        Integer num = taskRecordMapper.selectStarNumByStudentUserId(studentId);
        return StringUtils.isNull(num) ? 0 : num;
    }

    /**
     * 通过学生IDs查询任务记录列表
     *
     * @param studentIds 学生IDs
     * @return 任务记录集合
     */
    @Override
    public List<TaskRecord> selectTaskRecordByStudentIdsWithUnchecked(Long[] studentIds) {
        return taskRecordMapper.selectTaskRecordByStudentIdsWithUnchecked(studentIds);
    }

    /**
     * 新增任务记录
     * 
     * @param taskRecord 任务记录
     * @return 结果
     */
    @Override
    public int insertTaskRecord(TaskRecord taskRecord)
    {
        return taskRecordMapper.insertTaskRecord(taskRecord);
    }

    /**
     * 修改任务记录
     * 
     * @param taskRecord 任务记录
     * @return 结果
     */
    @Override
    public int updateTaskRecord(TaskRecord taskRecord)
    {
        return taskRecordMapper.updateTaskRecord(taskRecord);
    }

    /**
     * 批量删除任务记录
     * 
     * @param ids 需要删除的任务记录ID
     * @return 结果
     */
    @Override
    public int deleteTaskRecordByIds(String[] ids)
    {
        return taskRecordMapper.deleteTaskRecordByIds(ids);
    }

    /**
     * 删除任务记录信息
     * 
     * @param id 任务记录ID
     * @return 结果
     */
    @Override
    public int deleteTaskRecordById(String id)
    {
        return taskRecordMapper.deleteTaskRecordById(id);
    }
}
